home *** CD-ROM | disk | FTP | other *** search
/ LOGIC Apps / Logic-APPLE_II_APPS.iso / pc / LOGIC Apple II 5.25" Library - DOS Part 3 / DOS065.dsk / STATEMENT INVOICE.bas < prev    next >
BASIC Source File  |  2012-02-16  |  4KB  |  96 lines

  1. 10  TEXT : HOME 
  2. 20 D$ = "<CTRL-D>": PRINT D$;"NOMON I,O,C"
  3. 30  DIM L$(20): DIM AM(20): DIM LI$(20)
  4. 40  HOME : PRINT : PRINT 
  5. 50  INPUT "WHOSE STATEMENT ";SS$
  6. 60  PRINT : INPUT "MONTH ";SM$
  7. 70  PRINT : INPUT "1 IF YOU WANT PIECE PRICES ";PC$:PC =  VAL(PC$)
  8. 80 W = 0
  9. 90 W = W +1
  10. 100  HOME : VTAB (15): PRINT "ENTER A          Q": PRINT : PRINT "IF THERE ARE NO MORE INVOICES ": VTAB (3)
  11. 110  INPUT " LOT #   ";L$(W)
  12. 120  IF L$(W) = "Q"  THEN W = W -1: GOTO 450
  13. 130  GOTO 320
  14. 140  REM  WAIT UNTIL KEY IS PUNCHED
  15. 150  VTAB (21): PRINT "PRESS ANY KEY TO CONTINUE"
  16. 160 Y =  PEEK( -16384): IF Y >127  THEN  POKE  -16368,0: GOTO 190
  17. 170  GOTO 160
  18. 180 .333 *7
  19. 190 AM(W) = SUM:SUM = 0:X = 0:X$ = ""
  20. 200 LI$(W) = INV$
  21. 210  REM  ROUTINE TO COMBINE INVOICES FOR EACH LOT
  22. 220  IF W = 1  THEN  GOTO 90
  23. 230 AQ = W -1
  24. 240  FOR N = 1 TO AQ
  25. 250  IF L$(N) = L$(W)  THEN  GOTO 280
  26. 260  NEXT N
  27. 270 LI$(N) = INV$: GOTO 90
  28. 280 AM(N) = AM(N) +AM(W)
  29. 290 LI$(N) = LI$(N) +"-" +INV$
  30. 300 W = W -1
  31. 310  GOTO 90
  32. 320  CALL  -958
  33. 330  PRINT : INPUT "INVOICE # ";INV$
  34. 340  IF PC = 0  THEN 380
  35. 350 NM = 5
  36. 360  PRINT : INPUT "INPUT # OF ITEMS ";NI$: IF NI$ < >""  THEN NI =  VAL(NI$): INPUT "PRICE PER PIECE";PI$:PI =  VAL(PI$):LT = PI *NI:I = LT +I: VTAB (NM): PRINT : PRINT NI;" @ ";PI;" = ";LT: CALL  -958:NM = NM +1: GOTO 360
  37. 370  GOTO 390
  38. 380  PRINT : INPUT "INVOICE TOTAL ";I$:I =  VAL(I$):
  39. 390  PRINT :CV =  PEEK(37) -3: INPUT "DISCOUNT ";DI$: IF DI$ < >""  THEN D =  VAL(DI$):X = I -D: GOTO 410
  40. 400 Z = .98:X = I *Z:D = I -X: POKE 37,CV:AX = X:X = D: GOSUB 680: CALL  -958: PRINT "DISCOUNT  ";X$:X = AX
  41. 410  GOSUB 680:SUM$ = X$
  42. 420  PRINT : PRINT : PRINT : PRINT : PRINT "TOTAL AFTER DISCOUNT "; LEFT$(X$,N)
  43. 430 SUM =  VAL( LEFT$(X$,N)) +SUM
  44. 440  GOTO 140
  45. 450  HOME : PRINT : PRINT : PRINT : PRINT "FOR CHECK STUB PRINTOUT PLUG IN PRINTER": PRINT : PRINT "AND TYPE Y ";: INPUT PO$: IF  LEFT$(PO$,1) = "N"  THEN  HOME : PRINT : PRINT : PRINT : GOTO 820
  46. 460  HOME : PRINT D$;"PR#2": PRINT "<CTRL-I>80N": PRINT : PRINT 
  47. 470  PRINT SS$" - ";SM$: PRINT 
  48. 480 TY = 0
  49. 490  FOR S = 1 TO W
  50. 500 X = AM(S): GOSUB 680
  51. 510  PRINT "LOT # ";L$(S);" = ";X$
  52. 520  PRINT "# S  "; LEFT$(LI$(S),25)
  53. 530  IF  LEN(LI$(S)) >25  THEN  PRINT  MID$ (LI$(S),26,30)
  54. 540  IF  LEN(LI$(S)) >55  THEN  PRINT  MID$ (LI$(S),56,30)
  55. 550  IF  LEN(LI$(S)) >85  THEN  PRINT  MID$ (LI$(S),86,30)
  56. 560  IF  LEN(LI$(S)) >115  THEN  PRINT  MID$ (LI$(S),116,30)
  57. 570  IF  LEN(LI$(S)) >145  THEN  PRINT  MID$ (LI$(S),146,30)
  58. 580  IF  LEN(LI$(S)) >175  THEN  PRINT  MID$ (LI$(S),176,30)
  59. 590  IF  LEN(LI$(S)) >205  THEN  PRINT  MID$ (LI$(S),206,30)
  60. 600  IF  LEN(LI$(S)) >235  THEN  PRINT  MID$ (LI$(S),236,30)
  61. 610 TY = AM(S) +TY
  62. 620  PRINT : NEXT S
  63. 630 X = TY: GOSUB 680:TY$ = X$
  64. 640  PRINT 
  65. 650  PRINT "TOTAL  =  $ ";TY$
  66. 660  PRINT D$;"PR#0"
  67. 665  HOME : PRINT : PRINT "ANOTHER COPY ";Y$: IF  LEFT$(Y$,1) = "Y"  THEN 450
  68. 670  END 
  69. 680  REM  SUBROUTINE TO FORMAT NUMBERS INTO 7 DIGIT STRINGS
  70. 690 X = X +.009
  71. 700 X$ =  STR$(X)
  72. 710  FOR J = 1 TO  LEN(X$)
  73. 720  IF  MID$ (X$,J,1) > <"."  THEN  NEXT J
  74. 730  REM  J = LOCATION OF DECIMAL POINT
  75. 740  IF J +2 < LEN(X$)  THEN X$ =  LEFT$(X$,J +2): GOTO 780
  76. 750  IF J +2 =  LEN(X$)  THEN  GOTO 780
  77. 760  IF J +1 =  LEN(X$)  THEN X$ = X$ +"0": GOTO 780
  78. 770  IF J -1 =  LEN(X$)  THEN X$ = X$ +".00": GOTO 780
  79. 780  FOR I =  LEN(X$) TO 9:X$ = " " +X$: NEXT I
  80. 790 N = 10
  81. 800 X =  VAL(X$)
  82. 810  RETURN 
  83. 820  HOME : PRINT : PRINT : PRINT : PRINT "FOR HARD COPY PRINTOUT PLUG IN PRINTER": PRINT : PRINT "IS PRINTER ON";: INPUT PO$: IF  LEFT$(PO$,1) = "N"  THEN  HOME : PRINT : PRINT : PRINT : GOTO 840
  84. 830  HOME : PRINT D$;"PR#2": PRINT "<CTRL-I>30N": PRINT : PRINT 
  85. 840  PRINT "          S T A T E M E N T": PRINT : PRINT 
  86. 850 TY = 0
  87. 860  FOR S = 1 TO W
  88. 870 X = AM(S): GOSUB 680
  89. 880  PRINT "LOT # ";L$(S);" = ";X$: PRINT "# S ";LI$(S)
  90. 890 TY = AM(S) +TY
  91. 900  PRINT : NEXT S
  92. 910 X = TY: GOSUB 680:TY$ = X$
  93. 920  PRINT 
  94. 930  PRINT "TOTAL  =  $ ";TY$
  95. 940  PRINT D$;"PR#0"
  96. 950  END